<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
<script>
  // TODO:字符串拼接
  const a = 100 + 10; // 110
  const b = 100 + '10'; // '10010'
  const c = true + '10'; // 'true10'

  // TODO:==
  100 == '100'; // true, 把 string 转换成 number 去比较
  0 == ''; // true
  0 == false; // true, 把 boolean 转换成 number 去比较
  false == ''; // true, 
  null == undefined; // true
  // 除了 == null 之外, 其他一律都用 ===
  const obj = { x:100 };
  if (obj.a == null) {}; // 相当于 if (obj.a === null || obj.a === undefined) {}
  NaN == NaN // false, NaN 和其他任何类型比较永远返回 false（包括和他自己）

  // TODO:if 语句: 走的都是 truly 和 falsely 变量
    // truly 变量: 两步运算为true,  !!100 === true
    // falsely 变量: 两步运算为false, !!0 === false
      // !!0
      // !!NaN
      // !!''
      // !!null
      // !!undefined
      // !!false

  // TODO: 逻辑运算
    // && 只要有一个为falsely 则返回这个值, 不然就到最后的true值
    // || 只要有一个为truly 则返回这个值, 不让你就到最后的false值

</script>
</body>
</html>